<?php

namespace app\common\controller;

use PHPMailer\PHPMailer\PHPMailer;
 use PHPMailer\PHPMailer\Exception;

/**
 * 发送电子邮箱
 */
class Email
{
    public function __construct(){
        $this->mail = new PHPMailer(true);
        //服务器配置
        $this->mail->CharSet ="UTF-8";                   //设定邮件编码
        $this->mail->SMTPDebug = 0;                     // 调试模式输出
        $this->mail->isSMTP();                          // 使用SMTP
        $this->mail->Host = env('HOST', 'smtp.qq.com');              // SMTP服务器
        $this->mail->SMTPAuth = true;                   // 允许 SMTP 认证
        $this->mail->Username = env('USERNAME', '2564196401@qq.com');    // SMTP 用户名  即邮箱的用户名
        $this->mail->Password = env('PASSWORD', 'eojfpndhfkfdeahc');     // SMTP 密码  部分邮箱是授权码(例如163邮箱)
        $this->mail->SMTPSecure = env('SMTPSECURE', 'ssl');                // 允许 TLS 或者ssl协议
        $this->mail->Port = env('PORT', 465);                     // 服务器端口 25 或者465 具体要看邮箱服务器支持
        $this->mail->setFrom(env('USERNAME', '2564196401@qq.com'), '赤伶');  //发件人
        $this->mail->addReplyTo(env('USERNAME', '2564196401@qq.com'), 'info'); //回复的时候回复给哪个邮箱 建议和发件人一致
    }

    /**
     * send_email 收件人邮箱数组
     * send_title 邮箱标题
     * send_content 邮箱内容
     */
    public function send($send_email, $send_title, $send_content)
    {
        try {
            foreach($send_email as $v){
                $this->mail->addAddress($v);  // 收件人
            }
            //Content
            $this->mail->isHTML(true);   // 是否以HTML文档格式发送
            $this->mail->Subject = $send_title;
            $this->mail->Body = $send_content;
            // $mail->AltBody = '如果邮件客户端不支持HTML则显示此内容';
            $this->mail->send();
            // return '邮件发送成功';
        } catch (Exception $e) {
            // return '邮件发送失败: ' . $this->mail->ErrorInfo;
        }
    }
}